﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI;

namespace AcadPosApp.Utilidades
{
    public class MetodosAuxiliares
    {
        #region Validar CPF
        public static bool IsCpfValid(string vrCPF)
        {
            string valor = vrCPF.Replace(".", "");
            valor = valor.Replace("-", "");
            if (valor.Length != 11)
                return false;
            bool igual = true;
            for (int i = 1; i < 11 && igual; i++)
                if (valor[i] != valor[0])
                    igual = false;
            if (igual || valor == "12345678909")
                return false; int[] numeros = new int[11];
            for (int i = 0; i < 11; i++)
                numeros[i] = int.Parse(valor[i].ToString());
            int soma = 0;
            for (int i = 0; i < 9; i++)
                soma += (10 - i) * numeros[i];
            int resultado = soma % 11;
            if (resultado == 1 || resultado == 0)
            {
                if (numeros[9] != 0)
                    return false;
            }
            else if (numeros[9] != 11 - resultado)
                return false;
            soma = 0;
            for (int i = 0; i < 10; i++)
                soma += (11 - i) * numeros[i];
            resultado = soma % 11;
            if (resultado == 1 || resultado == 0)
            {
                if (numeros[10] != 0)
                    return false;
            }
            else if (numeros[10] != 11 - resultado)
                return false;
            return true;
        }
        #endregion

        #region Validar Pesquisa
        public static void validarPesquisa(DropDownList ddlTpPesquisa, RegularExpressionValidator revNumeros, RegularExpressionValidator somenteLetras)
        {
            if (ddlTpPesquisa.SelectedValue == "c")
            {
                revNumeros.Visible = true;
                somenteLetras.Visible = false;
            }
            else
            {
                revNumeros.Visible = false;
                somenteLetras.Visible = true;
            }
        }
        #endregion

        #region Limpar Todos os Campos
        public static void LimparTodosOsCampos(Control controle)
        {
            foreach (Control ctrl in controle.Controls)
            {
                if (ctrl is TextBox)
                {
                    ((TextBox)ctrl).Text = String.Empty;
                }

                if (ctrl is CheckBox)
                {
                    ((CheckBox)ctrl).Checked = false;
                }

                if (ctrl is RadioButton)
                {
                    ((RadioButton)ctrl).Checked = false;
                }

                if (ctrl is DropDownList)
                {
                    ((DropDownList)ctrl).SelectedIndex = -1;
                }

                if (ctrl is GridView)
                {
                    ((GridView)ctrl).DataSource = null;
                    ((GridView)ctrl).DataBind();
                }
                
                if (ctrl.Controls.Count > 0)
                {
                    LimparTodosOsCampos(ctrl);
                }

            }
        }
        #endregion
    }
}